package com.qumitech.visualnovel.service;

import com.alibaba.fastjson.JSONObject;
import com.qumitech.visualnovel.model.dao.console.DeviceLoginStatistics;
import com.qumitech.visualnovel.model.dao.console.DeviceRegisterStatistics;

import java.util.List;

public interface DeviceStatisticsService {

    JSONObject getRegisterLine(String type, String channel, String version, String system, String gameType, String appName, String startTime, String endTime);

    List<DeviceRegisterStatistics> getRegisterList(String channel, String version, String system, String gameType, String appName, String startTime,
                                                    String endTime, int offset, int limit, String orderType, String orderBy);

    int getRegisterCount(String channel, String version, String system, String gameType, String appName, String startTime, String endTime);


    JSONObject getLoginLine(String type, String channel, String version, String system, String gameType, String appName, String startTime, String endTime);

    List<DeviceLoginStatistics> getLoginList(String channel, String version, String system, String gameType, String appName, String startTime,
                                              String endTime, int offset, int limit, String orderType, String orderBy);

    int getLoginCount(String channel, String version, String system, String gameType, String appName, String startTime, String endTime);


    JSONObject getRemainLine(String appName, String channel, String appVersion, String system, String startTime, String endTime);

    JSONObject getRemainList(String appName, String channel, String appVersion, String system, String startTime, String endTime, int offset, int limit);

    JSONObject getActiveRemainLine(String appName, String channel, String appVersion, String system, String startTime, String endTime);

    JSONObject getActiveRemainList(String appName, String channel, String appVersion, String system, String startTime, String endTime, int offset, int limit);

    JSONObject getUserDailyStatisticSumList(String type, String startTime, String endTime, int offset, int limit);
}
